<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
  <xsl:import href="/usr/share/sgml/docbook/stylesheet/xsl/db2latex/latex/docbook.xsl"/>
  <xsl:variable name="l10n.gentext.default.language">pt_br</xsl:variable>
  <xsl:variable name="latex.documentclass">article</xsl:variable>
  <xsl:param name="admon.graphics.path" />
  <xsl:param name="latex.pdf.support" />
  <xsl:param name="latex.math.support">0</xsl:param>
  <xsl:param name="latex.use.fancyhdr">1</xsl:param>
  <xsl:param name="latex.pagestyle">plain</xsl:param>
  <xsl:param name="latex.documentclass.article">a4paper,10pt</xsl:param>
  <xsl:param name="latex.document.font">default</xsl:param>
  <xsl:param name="latex.use.times">0</xsl:param>
  <xsl:param name="latex.trim.verbatim">1</xsl:param>
  <xsl:param name="latex.use.babel">1</xsl:param>
  <xsl:param name="latex.use.hyperref">1</xsl:param>
  <xsl:param name="latex.use.varioref">1</xsl:param>
  <xsl:param name="latex.use.ltxtable">0</xsl:param>
  <xsl:param name="latex.use.fancyvrb">0</xsl:param>
  <xsl:param name="latex.use.parskip">1</xsl:param>
  <xsl:param name="latex.use.dcolumn">1</xsl:param>
  <xsl:param name="latex.hyphenation.tttricks">1</xsl:param>
  <xsl:param name="latex.generate.indexterm">0</xsl:param>
  <xsl:param name="latex.bridgehead.in.lot">1</xsl:param>
  <xsl:param name="latex.biblioentry.style">ieee</xsl:param>
  <xsl:param name="latex.biblio.output">all</xsl:param>
  <xsl:param name="latex.url.quotation">1</xsl:param>
  <xsl:param name="latex.suppress.blank.page.headers">1</xsl:param>
  <xsl:param name="latex.article.preamble.pre">
    <xsl:text>\include{setup}</xsl:text>
  </xsl:param>
  <xsl:param name="formal.title.placement">
    figure not_before
    example before
    equation not_before
    table not_before
    procedure before
  </xsl:param>
  <xsl:param name="insert.xref.page.number">1</xsl:param>
  <xsl:param name="ulink.footnotes">0</xsl:param>


  <!-- Dead-simple replacement for the `xref` template -->
  <xsl:template match="xref">
    <xsl:text>\hyperlink{</xsl:text>
    <xsl:value-of select="@linkend" />
    <xsl:text>}{</xsl:text>
    <xsl:call-template name="gentext">
      <xsl:with-param
         name="key"
	 select="substring-before(normalize-space(@linkend), '-')"
	 />
    </xsl:call-template>
    <xsl:text> \ref{</xsl:text>
    <xsl:value-of select="@linkend" />
    <xsl:text>}}</xsl:text>
  </xsl:template>

  <!--
    Make footnotes much simpler
  -->
  <xsl:template match="footnote">
    <xsl:text>\footnote{</xsl:text>
    <xsl:apply-templates />
    <xsl:text>}</xsl:text>
  </xsl:template>


  <!--
    Much simpler bibliography
  -->

  <!-- Simply use \cite -->
  <xsl:template match="citation">
    <xsl:text>\cite{</xsl:text>
    <xsl:value-of select="text()" />
    <xsl:text>}</xsl:text>
  </xsl:template>

  <!-- Dead simple bibliography entries like in the Springer templates -->
  <xsl:template match="biblioentry">
    <xsl:text>\bibitem{</xsl:text>
    <xsl:value-of select="./abbrev/text()" />
    <xsl:text>} </xsl:text>

    <xsl:choose>
      <xsl:when test="./author">
	<xsl:value-of select="./author/surname/text()" />
	  <xsl:text> </xsl:text>
	<xsl:value-of select="./author/firstname/text()" />
      </xsl:when>
      <xsl:otherwise>
	<xsl:for-each select="./authorgroup/author">
	  <xsl:value-of select="./surname/text()" />
	  <xsl:text> </xsl:text>
	  <xsl:value-of select="./firstname/text()" />
	  <xsl:text>, </xsl:text>
	</xsl:for-each>
      </xsl:otherwise>
    </xsl:choose>

    <xsl:if test="./copyright/year/text()">
      <xsl:text> (</xsl:text>
      <xsl:value-of select="./copyright/year" />
      <xsl:text>)</xsl:text>
    </xsl:if>
    <xsl:text>&#10;</xsl:text>

    <xsl:apply-templates select="title" />
    <xsl:text>. </xsl:text>
    <xsl:apply-templates select="publisher/publishername/*" />

    <xsl:text>&#10;&#10;</xsl:text>
  </xsl:template>

  <!-- Be not too fancy about the bibliography -->
  <xsl:template match="bibliography">
    <xsl:variable name="keyword">bibliography-chapter</xsl:variable>
    <xsl:variable name="title">
      <xsl:apply-templates select="title|subtitle"/>
    </xsl:variable>
    <xsl:call-template name="map.begin">
      <xsl:with-param name="keyword" select="$keyword"/>
    </xsl:call-template>
    <xsl:text>\begin{thebibliography}{99.}</xsl:text>
    <xsl:text>\label{</xsl:text>
    <xsl:call-template name="generate.label.id"/>
    <xsl:text>}\hypertarget{</xsl:text>
    <xsl:call-template name="generate.label.id"/>
    <xsl:text>}{}&#10;</xsl:text>

    <xsl:apply-templates select="biblioentry">
      <xsl:sort select="./abbrev"/>
      <xsl:sort select="./@xreflabel"/>
      <xsl:sort select="./@id"/>
    </xsl:apply-templates>
    <xsl:text>&#10;\end{thebibliography}&#10;</xsl:text>

    <xsl:call-template name="map.end">
      <xsl:with-param name="keyword" select="$keyword"/>
    </xsl:call-template>
    <xsl:if test="$title!=''">
      <xsl:text>\let\bibname\oldbibname&#10;</xsl:text>
      <xsl:text>\let\refname\oldrefname&#10;</xsl:text>
    </xsl:if>
  </xsl:template>

  <xsl:template match="note|important|warning|caution|tip">
    <xsl:call-template name="map.begin">
      <xsl:with-param name="keyword">admonition</xsl:with-param>
      <xsl:with-param name="string">
	<xsl:text>{</xsl:text>
	<xsl:choose>
	  <xsl:when test="title and $latex.apply.title.templates.admonitions='1'">
	    <xsl:call-template name="extract.object.title">
	      <xsl:with-param name="object" select="."/>
	    </xsl:call-template>
	  </xsl:when>
	  <xsl:otherwise>
	    <xsl:call-template name="gentext.element.name"/>
	  </xsl:otherwise>
	</xsl:choose>
	<xsl:text>}</xsl:text>
      </xsl:with-param>
    </xsl:call-template>
    <xsl:call-template name="content-templates"/>
    <xsl:call-template name="map.end">
      <xsl:with-param name="keyword">admonition</xsl:with-param>
    </xsl:call-template>
  </xsl:template>

</xsl:stylesheet>